package com.ylw.dao;

import com.ylw.entity.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Before;
import org.junit.Test;

/**
 * 测试session和query里面的方法，
 * Created by yangliwei on 2017/7/11.
 */
public class UserDao {
    SessionFactory sessionFactory = null;
    @Before
    public void before(){
        sessionFactory = new Configuration().configure().buildSessionFactory();
    }

    /*
    测试session里面的save方法
    可以把一个临时对象转化为持久化对象，
    把User变量放在SaveOrUpdateEvent，然后和SaveOrUpdateEventListener组成监听者模式
     */
    @Test
    public void testSessionSave(){
        Session session = sessionFactory.openSession();
        //创建一个临时变量
        User user = new User();
        user.setName("stupid dog");
        user.setAddress("shangxi");
        session.save(user);
        //此时session里面有user对象（经过save后变为持久化对象），在close方法后会存到数据库
        session.close();
    }

    /*
    测试session 里面的update方法
    这个方法参数必须是持久化对象
     */
    @Test
    public void testSessionUpdate(){

    }


}
